Selenium 除了搭配 Beautiful Soup函式庫來定位和搜尋網頁資料外,本身也支援兩組網頁資料定位函數
1.find_element_by ??()函數:函數使用 find_element_by 開頭,可以取出HTML網頁中符合的第1筆HTML元素,就算有符合多筆,也只會取回第1筆。
2.find_elements_by ??()函數:函數使用find_elements_by開頭,可以取回符合的HTML元素清單。
為了方便測試Selenium網頁資料定位函數,Pyton程式載入本機HTML檔案來進行測試,如下所示:
from selenium import webdriver
import os
driver = webdriver. Chrome ("./chromedriver")
html_path = "file:///" +os. path. abspath ("Ch7_4.html")
driver. implicitly_wait (10)
driver. get (html_path)
上述程式碼匯入 webdriver 和 os 模組後,建立本機Ch7_4.html的HTML檔案路徑後,呼叫 get()函數載入HTML檔案內容,接著就可以測試執行Selenium 網頁資料定位函數。
使用CSS選擇器定位網頁資料
我們可以呼叫 find_element_by_css_selector()函數使用 CSS 選擇器來定位網頁資料
content = driver. find_element_by_css_selector("h3. content")
print (content. text)
p = driver.find_element_by_css_selector("p")
print (p. text)
上述程式碼使用 CSS 選擇器定位<h3>
和 <p>
標籤後,使用 text 屬性取得標籤內容。